package com.jvyou.app.ds.service;

import com.jvyou.app.common.domain.dto.LoginDto;
import com.jvyou.app.common.domain.dto.ResetPasswordDto;
import com.jvyou.app.common.domain.dto.SMSLoginDto;
import com.jvyou.app.common.domain.model.LoginUser;
import com.jvyou.app.common.domain.model.Result;
import com.jvyou.app.common.domain.vo.LoginVo;
import com.jvyou.app.common.domain.vo.SMSTokenVo;

import javax.validation.Valid;

/**
 * @author 橘柚
 * @since 2025/3/3 10:51
 */
public interface AuthService {
    Result<LoginVo> doLogin(@Valid LoginDto loginDto);

    Result<LoginUser> currentUser();

    Boolean sendSMSCode(String phone);

    Result<LoginVo> doSMSLogin(SMSLoginDto smsLoginDto);

    SMSTokenVo verifyCode(String phone, String code, String operation);

    Boolean resetPassword(@Valid ResetPasswordDto resetPasswordDto);

}
